package com.opal.modules.costReportForm.mapper.mysql;

import com.opal.modules.costReportForm.entity.CostReport;
import com.opal.modules.costReportForm.entity.table.CostSignature;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 *以后杂碎的都写这个类上
 */
public interface CostCommonMapper {

    //插入和更新cost_signature（经理签名表）操作，若成本报告单据号在数据库有值，则进行更新
    public int insertCostSignature(CostSignature costSignature);

    /**
     * 根据成本报告单据号查询cost_signature（经理签名表）表中数据
     * @param costReportId
     * @return
     */
    public CostSignature selectCostSignatureBycostReportId(String costReportId);

    /**
     * 根据成本报告单据号删除cost_signature（经理签名表）表中数据
     * @param costReportId
     * @return
     */
    int deleteCostSignatureBycostReportId(String costReportId);

    /**
     * 根据公司账套条件查询出所有成本报告，使用左连接刷选出这些成本报告的的所属人和授权的人
     * @param costReport
     * @return
     */
    List<Map<String,String>> selectAccreditUpdateQuotation(@Param("costReport") CostReport costReport,@Param("userName")String userName, @Param("page")Integer page, @Param("num")Integer num);

    int selectAccreditUpdateQuotationCount(@Param("costReport")CostReport costReport,@Param("userName")String userName);
}
